#include <iostream>
using namespace std;

/*
    特点：
      第一：抽象类无法创建对象，专门提供接口让别人(子类)去实现的
      第二：子类继承了抽象类，子类必须把抽象类中所有的纯虚函数都实现，如果有任何一个纯虚函数没有实现，那么子类依然是抽象类
      注意：子类实现抽象类的纯虚函数，必须同名同参，同返回值
*/

class Interface // 抽象类
{
public:
    virtual void show() = 0; // 纯虚函数
};

class Screen1 : public Interface
{
public:
    void show()
    {
        cout << "Screen1" << endl;
    }
};

class Screen2 : public Interface
{
public:
    void show()
    {
        cout << "Screen2" << endl;
    }
};

int main()
{
    // Interface i; // 抽象类无法创建对象

    Screen1 s1;
    s1.show();

    Screen2 s2;
    s2.show();
}